home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #5 / Amiga Plus CD - 2000 - No. 5.iso / Tools / Emulatoren / FPSE / docs / whatsnew.txt < prev    next >
Text File  |  2000-01-01  |  14KB  |  348 lines

  1. I like programming. I like also emulation.
  2. So I decided to write a Playstation emulator since
  3. 1) PsEmuPro is dead and
  4. 2) I don't like commercial emus.
  5.  
  6. FPSE is a good code started by BERO; it's open-source, so you can help me if you want.
  7.  
  8. ------------------------------------------------> 09/011/1999
  9. Today I got FPSE v0.05  from "http://www.geocities.co.jp/Playtown/2004/"
  10. I don't have Cygnus, so I started conversion to DJGPP+RSX.
  11.  
  12. ------------------------------------------------> 17/011/1999
  13. Good news: FPSE runs with interpreter, with some tricks on $1F801070 it runs the BIOS too.
  14. Compiler needs ESI points to REG structure, removed static PCBASE pointer, but it doesn't work yet.
  15.  
  16. ------------------------------------------------> 18/011/1999
  17. Ok, adjusted IDX in compile1().
  18. Now the BIOS runs with compiler, then it hangs at:
  19.  
  20. 0x000044F8: read short sio_status,0000
  21.  
  22. Ergo: it's the time to do pads & memcards.
  23.  
  24. ------------------------------------------------> 20/011/1999
  25. At "http://www.egroups.com/group/psxdev/" I have found some info on the irq mask.
  26.  
  27. bit 0: VSync
  28. bit 1: GPU
  29. bit 2: CD-ROM
  30. bit 3: DMA
  31. bit 4: Root counter 0
  32. bit 5: Root counter 1
  33. bit 6: Root counter 2
  34. bit 7: Controllers
  35. bit 8: Serial port
  36. bit 9: SPU
  37. bit A: PIO
  38.  
  39. Corrected these masks and moved to "opdef.h"
  40. After some fixes, LifeDemo runs again.
  41.  
  42. ------------------------------------------------> 21/011/1999
  43. Now bios can be used for running demos.
  44. If bios is loaded and want to run a PSX-EXE, execution is stopped at $80030000, so bios calls $A0, $B0 and $C0 are compiled.
  45. This startup-code doesn't need hardware update, so simply run with interpreter.
  46.  
  47. ------------------------------------------------> 04/012/1999
  48. Finally after many hours of work with some demos, I have discoveded how irq's work on PSX.
  49. I have written a small text with these informations.
  50. The bios runs fine but it hangs before running the shell.
  51. Started some works on GTE.
  52.  
  53. ------------------------------------------------> 31/12/1999
  54. Today is the last day of this hard year.
  55. HAPPY NEW YEAR!!!!!!!!
  56.  
  57. ------------------------------------------------> 03/01/2000
  58. Today BERO released FPSE 0.06.
  59. I'm adding all changes to my sources (wow, mdec support!).
  60.  
  61. ------------------------------------------------> 04/01/2000
  62. GPU always use DIB section.
  63. Started work on debugger.
  64. Corrected some bugs:
  65. * All memory access are closed to 8 MB (infact 0x000000 and 0x00200000 point to the same location)
  66. * GPU dma are closed to 8 MB (see above); 
  67. * Added frame rate limiter to 60Hz (see HW.C for details); 
  68.  
  69. ------------------------------------------------> 05/01/2000
  70. Debugger is finished.
  71. Finished SIO emulation.
  72. I have written a text file with all informations about the PSX serial port I have found.
  73.  
  74. ------------------------------------------------> 09/01/2000
  75. Finished gamepad & memory card emulations.
  76. Emulated 32us timing ACK for pads.
  77.  
  78. ------------------------------------------------> 10/01/2000
  79. Changed layout of the code:
  80. * Now you need to include only "fpse.h"
  81. * REG is global, so you don't need to pass it in many functions
  82. * All flags like verbose, in_slot, ecc are grouped in FPSE_Flags variable.
  83. * The only types allowed are INT8, UINT8, INT16, UINT16, INT32, UINT32. All types like BYTE, PIXEL, ecc disappear.
  84. * Functions must return FPSE_OK or FPSE_ERR.
  85.  
  86. ------------------------------------------------> 11/01/2000
  87. Added dualshock callback.
  88. Added screenshot function (press F12).
  89. Added CDNull driver.
  90. Fixed NOR bug in compile.c
  91.  
  92. ------------------------------------------------> sorry, I lost this date....
  93. I sent my sources to the author BERO.
  94. Started work on serial port.
  95.  
  96. ------------------------------------------------> 25/01/2000
  97. Serial port emulation under win32 is done.
  98. Now F11 enable/disable FPS display.
  99.  
  100. ------------------------------------------------> 10/02/2000
  101. Corrected huge bug in DMA, now we have nice compatibility.
  102. Better cdrom support. 
  103. Better debugger. 
  104. Fixed some DMA bugs. 
  105. Fixed some RootCounters bugs. 
  106. Fixed some bugs in GPU clipping. 
  107. A little fix in GTE.C for RTPS and RTPT opcodes. 
  108. Added support for other input devices. 
  109. Bios rom appear also at 1FC00000h and 9FC00000h, so they are added in MEM.C. 
  110. Bios emulation of pads is commented because the previous change. 
  111. Started plugin development for GPU and SPU. No 'LoadLibrary' is required, so the code is portable like the previous versions. 
  112. Now screenshots can be saved with F12 in other places (default is 'SNAPS')
  113.  
  114. ------------------------------------------------> 15/02/2000
  115. Post update to BERO.
  116.  
  117. ------------------------------------------------> 16/02/2000
  118. FPSE007bin1 and FPSE007src1 are online.
  119.  
  120. ------------------------------------------------> 04/03/2000
  121. * New aspi driver with a full CD Audio and bus mastering support. 
  122. * New plugin (SPUSEAL) based on 0.07 source code and compiled with Visual C++ 5.0. 
  123. * New graphic plugin (GPUDX3): it uses DirectX 3.0 and D3D, it runs great even on NT4, but it needs to be fixed in some functions. Surprising, I have noted that Execute Buffers are a little faster than DrawPrimitive. 
  124. * I have tested FPSE on WinNT 2000, AND IT WORKS!!!!!!!!!!! 
  125. * run under Linux with NULL drivers
  126.  
  127. ------------------------------------------------> 15/03/2000
  128. Fixed a bug in DMA6, now Bouncer 2 and other demos runs great in all configurations. 
  129. Little improvement in GPUDx3. Known bugs are missing semi-trasparency, line functions and a bad clipping for D3D functions. 
  130. GTE.c has been substituited 
  131. Removed Windows.h from FPSE.H and HW.C 
  132. if the bios is not present in the current directory, it will be searched in the "BIOS" sub-directory. 
  133. CDROM.c: some changes but it won't work yet. 
  134. EMU.c: go() function is moved in RUNTIME.c 
  135. Gamepads are done in plugin format. 
  136. Added mouse driver. 
  137. Modified the *_Open() function of plugins and the FPSE SDK is almost done.
  138. Now all the system-dependant code is contained in WIN.C and Win32Def.h 
  139. Now memory cards must be in the "MEMCARDS" sub-directory. 
  140. FULL Rs232 support.
  141.  
  142. ------------------------------------------------> 17/03/2000
  143. FPSE007bin2 and FPSE007src2 are online.
  144.  
  145. Now you can use also CPE and COFF files. Unfortunally something is missing for COFF images. I have also tried Bouncer 2 and Z2 preview: 
  146. With Bouncer 2 in PSX_EXE and CPE formats it starts but it doesn't work. With the COFF image it runs fine but gamepads are not available (not a bug of gamepad emulation, the code don't initialize them but why?). 
  147. With Z2 preview it starts but then it hangs: we must set the correct value to RA before running the exe. 
  148. Then I have converted COFF to PSX_EXE with ECO2EXE.exe and all works great. Infact this utility has added something... 
  149. Corrected a bug in JALR instruction: on the MIPS manual I have read that this opcode can use any register, not only RA, so I have fixed it, but only in CPU2.c 
  150. Corrected a bug in PRIM2.H, see LineG2,3,4 declaration. 
  151. Added script file support ("-s" option) 
  152.     In the command line write
  153.         FPSE -sStart.bat
  154.     if you want to run "Start.bat"
  155.  
  156.     Script files can contain the following commands:
  157.     * LOAD
  158.         Syntax: LOAD <filename> <address>
  159.       Load <filename> in the system ram at the specified address.
  160.       If <address> is not present, <filename> must be an EXE file.
  161.     * RUN
  162.         Syntax: RUN <filename>
  163.       Similar to LOAD command, also it setup PC and SP.
  164.       Filename must be an EXE file.
  165.  
  166. With Script files now you can run more demo than before; the load order is:
  167. 1) the BIOS (if not emulated)
  168. 2) LIBPS.exe (it is always loaded if present in the current path)
  169. 3) Script file
  170. 3) Executable written in the command line
  171.  
  172. With Script files and CPE and COFF formats I could test other demos,
  173. now I have counted 62 demos running.
  174.  
  175. GPUDx3 is not completed, but it runs FAST. Unfortunally DirectX 3.0 under NT4 doesn't support surfaces larger than the primary surface, so you must run at 1024x768 or higher with this OS, otherwise FPSE will not start. If you have DirectX 5.0 or higher this limitation has been removed even if you use older interface. 
  176.  
  177. When using the new exe, make sure that:
  178. * you have copied RSXNT.DLL and AUDIOW32.DLL in the FPSE root dir. (in previous version)
  179. * you have copied some plugin from plugin dir to the FPSE root dir.
  180.   the names are:
  181.     GpuRend.dll  = for the GPU
  182.     SpuRend.dll  = for the SPU
  183.     Joy0Rend.dll = device connected in port 0.
  184.     Joy1Rend.dll = device connected in port 1.
  185.  
  186. ------------------------------------------------> 26/03/2000
  187. I have found some demos in A/R format so I want to add support for them.
  188.  
  189. ------------------------------------------------> 28/03/2000
  190. Added partial PIO watching and A/R support.
  191.  
  192. ------------------------------------------------> 02/04/2000
  193. Script files now can be where you want.
  194. Before they must be in FPSE root dir.
  195. Added overlay surface to GPUDx3 (looks GREAT!).
  196.  
  197. ------------------------------------------------> 11/04/2000
  198. Post a message online.
  199.  
  200. ------------------------------------------------> 16/04/2000
  201. New GPUSoft written: textures are cached for better speed.
  202. Added STP to DrawF & DrawG
  203. Added AGE to DrawSprite.
  204. I fixed directory structure:
  205.  
  206. -+
  207.  }- ActionR     // Action replay roms and cheat list
  208.  }- BIOS        // BIOS images
  209.  }- MemCards    // Memory card images
  210.  }- Plugin      // Plugin DLL
  211.  }- Snaps       // Screenshots
  212.  
  213.  
  214. ------------------------------------------------> 18/04/2000
  215. Corrected big bug in DMA6: OT must end with $00FFFFFF
  216. Corrected big bug in SPU DMA.
  217.  
  218. ------------------------------------------------> 21/05/2000
  219. Finally I've found the missing and CDROM run!
  220. If sector size is 2352, DMA buffer is divided in 2 section:
  221. 12 bytes with header
  222. 2340 bytes with data
  223. In this case DMA is done with 2 separate commands.
  224.  
  225. ------------------------------------------------> 25/05/2000
  226. Today I met Mr.Fog.
  227. Welcome in our family!
  228.  
  229. ------------------------------------------------> 26/06/2000
  230. Corrected a bug in MDEC.C. MDEC now runs fine.
  231. Added 24bpp to GpuSoft.
  232.  
  233. ------------------------------------------------> 01/06/2000
  234. Today I'm 25 years old.
  235. Happy birthday, Li Dhay Chen!
  236.  
  237. ------------------------------------------------> 03/06/2000
  238. Fixed huge GPU bug in DrawGT.
  239.  
  240. ------------------------------------------------> 07/06/2000
  241. Finally FPSE configurator and SDK are done.
  242. FPSECfg may need some adds, but functions are OK.
  243.  
  244. ------------------------------------------------> 08/06/2000
  245. Modified FPSECfg:
  246. * Added splash screen at startup.
  247. * Added "About" and "Run" buttons.
  248. * Added command line editbox.
  249. Thanks to Mr.Fog for the suggestions.
  250.  
  251. ------------------------------------------------> 09/06/2000
  252. Finally BIOS autoboot works OK
  253. Other changes to RootCounters
  254. Now recompiler must be rewritten for:
  255. * A FULL overlay support
  256. * Register cache for more speed.
  257.  
  258. ------------------------------------------------> 19/06/2000
  259. * Finally recompiler works fine with overlays
  260. * Many fixes to GTE.C, now Lara looks very nice!
  261. * GPUPSEMU is finished, and it's GREAT!
  262. * Today I got MANTA demo, but it won't work (yet).
  263.  
  264. ------------------------------------------------> 20/06/2000
  265. * Corrected bug in DMA6 now MANTA works fine, but other
  266.   GTE bugs are present.
  267. * Changes to RootCounters
  268. * Added Cop2 0x498412: now Kula World runs fine!
  269.  
  270. ------------------------------------------------> 22/06/2000
  271. * Corrected a bug in gamepad emulation, now both Tekken3 
  272.   demo and commercial versions are fully playable.
  273.   Unfortunally it hangs when playing MDEC...
  274.   ...so you must press START button before MDEC's
  275.  
  276. ------------------------------------------------> 23/06/2000
  277. * Corrected a bug il Memory card emulation. Now they
  278.   should run better.
  279.  
  280. ------------------------------------------------> 25/06/2000
  281. * Some adds to the configurator.
  282.  
  283. ------------------------------------------------> 27/06/2000
  284. * WOW! ROOTCOUNTERS FINALLY FULLY EMULATED!!!
  285.   Now Crash Bandicoot 3-Warped Demo is fully playable!
  286.   Thanks to Joshua Walker for the informations.
  287.  
  288. ------------------------------------------------> 28/06/2000
  289. * Corrected some bugs in MDEC decoding core.
  290.   Thanks to Mr. Carlos for the help.
  291. * Medievil Demo and Commercial work fine but they are
  292.   not playable because some GTE big bugs.
  293.  
  294. ------------------------------------------------> 29/06/2000
  295. * CDRom support is made in plugin format.
  296.   - Modified FPSECFG in the CD-Rom section
  297.   - Modified CDROM.C, CD.H, HW.C and Win.C in the emu.
  298.   The new plugin name in FPSE root must be CDREND.DLL
  299. * Added the first 3 CD Plugin: CDASPI, CDPsEmu and CDNull.
  300.  
  301. ------------------------------------------------>  1/07/2000
  302. * Modified FPSE for INI setup
  303. * Corrected a bug CallBack irq handling
  304.  
  305. ------------------------------------------------>  2/07/2000
  306. * Corrected some bugs in CDROM.C
  307. * CdlReadN and CdlReadS are now separated.
  308.   MDECs should work better.
  309.  
  310. ------------------------------------------------>  3/07/2000
  311. * FPSE 0.08 RELEASED TO OUR BETA-TESTERS!!!
  312.  
  313. ------------------------------------------------>  7/07/2000
  314. * FPSE 0.08 RELEASED TO THE ENTIRE WORLD
  315.  
  316. ------------------------------------------------> 11/07/2000
  317. * Corrected some bugs in the GTE
  318.  
  319. ------------------------------------------------> 13/07/2000
  320. * Corrected another bug in the GTE
  321.   Thanks to Eastwind for the help.
  322. * Changed memory READ/WRITE instructions.
  323.   Now the Emu runs at better speed than before.
  324.   Thanks to Roor (the coder of AdriPSX) for the help.
  325.  
  326. ------------------------------------------------> 16/07/2000
  327. * A change is done to the SDK: if a plugin saves something
  328.   in RAM, it must call the FlushRec() function and tell that
  329.   the area is changed.
  330.   Now Medievil runs with the compiler too!
  331.  
  332. ------------------------------------------------> 17/07/2000
  333. * Big change to the GTE: now many things are corrected, but
  334.   RTPT and RTPS force MAC0 and IR0 to ZERO, otherwise they
  335.   don't work. I don't know why, but it happens.
  336.  
  337. ------------------------------------------------> 21/07/2000
  338. * Little change to the compiler.
  339.  
  340. ------------------------------------------------> 22/07/2000
  341. * Other changes to the GTE.
  342.  
  343. ------------------------------------------------> 24/07/2000
  344. * CDASPI plugin released.
  345.  
  346. ------------------------------------------------> 25/07/2000
  347. * Changed sources layout. Now porting should be a little 
  348.   easier.